package co.com.desarrollo.pedidos.entities;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.Table;


/**
 * The persistent class for the tienda database table.
 * 
 */
@Entity
@Table(name="tienda")
public class Tienda implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@Column(unique=true, nullable=false)
	private long idtienda;

	private int activo;

	@Column(length=45)
	private String contacto;

	@Column(nullable=false, length=45)
	private String direccion;

	@Column(length=45)
	private String horario;

	@Column(unique = true, nullable=false, length=45)
	private String nombre;

	@Column(nullable=false, length=45)
	private String telefono;

	@Column(length=45)
	private String telefono2;

	//uni-directional many-to-many association to Producto
	@ManyToMany(fetch=FetchType.EAGER)
	@JoinTable(
		name="producto_tienda"
		, joinColumns={
			@JoinColumn(name="idtienda", nullable=false)
			}
		, inverseJoinColumns={
			@JoinColumn(name="idproducto", nullable=false)
			}
		)
	private List<Producto> productos;

    public Tienda() {
    	this.activo = 1;
    }

	public long getIdtienda() {
		return this.idtienda;
	}

	public void setIdtienda(long idtienda) {
		this.idtienda = idtienda;
	}

	public int getActivo() {
		return this.activo;
	}

	public void setActivo(int activo) {
		this.activo = activo;
	}

	public String getContacto() {
		return this.contacto;
	}

	public void setContacto(String contacto) {
		this.contacto = contacto;
	}

	public String getDireccion() {
		return this.direccion;
	}

	public void setDireccion(String direccion) {
		this.direccion = direccion;
	}

	public String getHorario() {
		return this.horario;
	}

	public void setHorario(String horario) {
		this.horario = horario;
	}

	public String getNombre() {
		return this.nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public String getTelefono() {
		return this.telefono;
	}

	public void setTelefono(String telefono) {
		this.telefono = telefono;
	}

	public String getTelefono2() {
		return this.telefono2;
	}

	public void setTelefono2(String telefono2) {
		this.telefono2 = telefono2;
	}

	public List<Producto> getProductos() {
		if (productos == null) {
			productos = new ArrayList<Producto>();
		}
		return productos;
	}

	public void setProductos(List<Producto> productos) {
		this.productos = productos;
	}
	
	
}